// 创建 Koa 实例
const Koa = require('koa');
const app = new Koa();

// 定义一个中间件函数
const middleware = async (ctx, next) => {
  console.log('第一层中间件 - 进入');
  await next();
  console.log('第一层中间件 - 退出');
};

// 将中间件函数添加到 Koa 实例中
app.use(middleware);

// 定义另一个中间件函数
const anotherMiddleware = async (ctx, next) => {
  console.log('\t第二层中间件 - 进入');
  await next();
  console.log('\t第二层中间件 - 退出');
};

// 将另一个中间件函数添加到 Koa 实例中
app.use(anotherMiddleware);

// 定义最后一层中间件函数
const finalMiddleware = async (ctx) => {
  console.log('\t\t最后一层中间件');
  ctx.body = 'Hello, World!';
};

// 将最后一层中间件函数作为 Koa 实例的最后一个中间件
app.use(finalMiddleware);

// 启动 Koa 服务器
app.listen(3000, () => {
  console.log('Koa 服务器已启动, 请访问: http://127.0.0.1:3000');
});

